import { IPSAjaxControlHandler } from './ipsajax-control-handler';
import { IPSSysUserDR } from '../../security/ipssys-user-dr';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSMDAjaxControlHandler
 */
export interface IPSMDAjaxControlHandler extends IPSAjaxControlHandler {
  /**
   * 获取数据超时（毫秒）
   * @type {number}
   * @default -1
   */
  fetchTimeout: number;

  /**
   * 用户数据范围对象
   *
   * @type {IPSSysUserDR}
   */
  getPSSysUserDR(): IPSSysUserDR | null;

  /**
   * 用户数据范围对象
   *
   * @type {IPSSysUserDR}
   */
  get psSysUserDR(): IPSSysUserDR | null;

  /**
   * 用户数据范围对象（必须存在）
   *
   * @type {IPSSysUserDR}
   */
  getPSSysUserDRMust(): IPSSysUserDR;

  /**
   * 用户数据范围对象2
   *
   * @type {IPSSysUserDR}
   */
  getPSSysUserDR2(): IPSSysUserDR | null;

  /**
   * 用户数据范围对象2
   *
   * @type {IPSSysUserDR}
   */
  get psSysUserDR2(): IPSSysUserDR | null;

  /**
   * 用户数据范围对象2（必须存在）
   *
   * @type {IPSSysUserDR}
   */
  getPSSysUserDR2Must(): IPSSysUserDR;
}
